const mongoose=require('mongoose')
const Schema = mongoose.Schema;
const {Mixed,ObjectId}=Schema.Types;  //Mixed作用是占位，以后可是单一数值，也可是数组

let movieSchema = new Schema({
    dyId: {type:String,unique:true},  //unique不能重复
    dyTags:{   //注意这样与dyTagsSchema不同，这是一个单值，电影类别
        type:ObjectId,
        ref:'dyTagsSchema'   //mongo提供的指向dyTagsSchema模型
    },
    dyRate: Number,
    title: String,
    summary: String,
    videoUrl: String,
    poster: String,
    cover: String,
    //下面这三个是上传某空间返回的地址
    videoUrlKey: String,
    posterKey: String,
    coverKey: String,

    rawTitle: String,
    movieTypes:[String],    //电影数据类型
    pubDate:Mixed,   //上映日期，Mixed作用是占位，以后可是单一数值，也可是数组
    year:Number,
    tags:Array,   //电影类别（儿童、爱情..）
    mate:{
        createAt:{
            type:Date,
            default:Date.now()
        },
        upDateAt:{
            type: Date
        }
    }
});
movieSchema.pre('save',function(next){
    if(this.isNew){    //movieSchema的数据是不是isNew最新的，这个mongoose会验证
        this.mate.createAt=this.mate.upDateAt=Date.now()
    }else{
        this.mate.upDateAt=Date.now()
    }
    next()   //不过数据是不是最新，最后一定要放行到mongoose.model，否则卡住这
})

let Movies = mongoose.model('Movies', movieSchema);
module.exports=Movies